﻿using System;
using System.Collections.Generic;
using System.Text;
using Volo.Abp.Auditing;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.Identity;
using Volo.Abp.Users;

namespace EcoSystem
{

    /// <summary>
    /// 
    /// </summary>
    public class SystemUser : FullAuditedAggregateRoot<Guid>, IUser
    {
        public Guid? TenantId { get; protected internal set; }
        public string UserName { get; protected internal set; }
        public string Name { get; set; }
        public string Surname { get; set; }
        public string Email { get; protected internal set; }
        public bool EmailConfirmed { get; protected internal set; }
        public string PhoneNumber { get; protected internal set; }
        public bool PhoneNumberConfirmed { get; protected internal set; }

        [DisableAuditing]
        public string NormalizedUserName { get; protected internal set; }

        public bool IsActive { get; set; }

        /// <summary>
        /// OpenId
        /// </summary>
        public string OpenId { get; set; }

        /// <summary>
        /// 性别
        /// </summary>
        public string Gender { get; set; }

        /// <summary>
        /// 生出年月
        /// </summary>
        public Nullable<DateTime> Brithday { get; set; }


        /// <summary>
        /// 人事行业
        /// </summary>
        public string PersonnelIndustry { get; set; }

        /// <summary>
        /// 学历
        /// </summary>
        public string Education { get; set; }

        /// <summary>
        /// 个人简介
        /// </summary>
        public string Introduction { get; set; }

        /// <summary>
        /// 个性签名
        /// </summary>
        public string PersonalSignature { get; set; }

        /// <summary>
        /// 头像
        /// </summary>
        public string Avatar { get; set; }

        /// <summary>
        /// 证件号码
        /// </summary>
        public string CardNumber { get; set; }

        /// <summary>
        /// 账号类型
        /// </summary>
        public AccountType AccountType { get; set; }

        /// <summary>
        /// 籍贯
        /// </summary>
        public string NativePlace { get; set; }

        /// <summary>
        /// 民族
        /// </summary>
        public string Nation { get; set; }

        /// <summary>
        /// 地址
        /// </summary>
        public string Address { get; set; }

        /// <summary>
        /// 所属区域
        /// </summary>
        public string RegionCode { get; set; }

        /// <summary>
        /// 是否内置用户
        /// </summary>
        public bool IsStatic { get; set; }

        /// <summary>
        /// 所属机构ID
        /// </summary>
        public string OrganizeId { get; set; }

        /// <summary>
        /// 所属机构代码
        /// </summary>
        public string OrganizeCode { get; set; }

        /// <summary>
        ///  所属企业ID
        /// </summary>
        public Nullable<Guid> EnterpriseId { get; set; }

    }
}
